GSheet Notion Migration Log
This report documents the migration of the Google Sheets Notion export into Docusaurus and records the exact backup, transformation, and validation steps.
1. Objective
- Migrate Notion-exported Google Sheets knowledge pages into
docs/google/google-sheet. - Keep all source pages, including duplicate titles (
Sumif,Untitled) as requested. - Convert all migrated docs from
.mdto.mdx. - Preserve media by backing up and copying all referenced images.
2. Source and Destination
| Item | Path |
|---|---|
| Notion source root | /home/rezriz/notion-export -to-docusaurus/gsheet |
| Source knowledgebase | /home/rezriz/notion-export -to-docusaurus/gsheet/Google Sheets/Google Sheet Knowledgebase |
| Docusaurus target root | /opt/docker-data/apps/docusaurus/site/docs/google/google-sheet |
| Migration guidance | /opt/docker-data/apps/docusaurus/site/docs/knowledge/docusaurus/11. Migration |
3. Backup Performed (Including Images)
Backups were created before rebuilding target content.
| Backup Type | Path |
|---|---|
| Target docs backup | /opt/docker-data/apps/docusaurus/site/docs/google/_backup/google-sheet-20260213-120757 |
| Source knowledgebase backup | /home/rezriz/notion-export -to-docusaurus/gsheet/_backup/google-sheet-kb-20260213-120757 |
Both backups include nested folders and image assets.
4. Migration Strategy Executed
4.1 Category-first organization
Source pages were grouped into deterministic folders:
01-functions-and-formulas02-filter-sort-and-format03-seo-use-cases04-comparison05-performance-and-limits99-uncategorized
Each folder received _category_.json with:
{
"label": "...",
"position": 1,
"link": { "type": "doc", "id": "index" }
}
4.2 MD to MDX conversion
- All source
.mdpages were transformed into.mdxfiles in target. - Root
index.mdwas replaced byindex.mdx. - Frontmatter generated per document (
title,description,sidebar_position).
4.3 Duplicate title handling
Duplicates were preserved with deterministic filename disambiguation:
sumif.mdxandsumif-1b905f1a.mdxuntitled.mdxanduntitled-1b905f1a.mdx
4.4 Media migration
- Local images referenced in markdown were copied to:
docs/google/google-sheet/assets/<doc-slug>/...
- In-doc image links were rewritten to the new relative paths.
4.5 MDX safety cleanup
- Escaped risky constructs outside code fences (including brace safety pass).
- Normalized generated frontmatter quoting to avoid YAML parser failures.
5. Output Metrics
| Metric | Value |
|---|---|
Source .md pages migrated | 38 |
Generated .mdx files (including indexes) | 45 |
| Category folders created | 6 |
_category_.json files created | 6 |
| Images copied and remapped | 14 |
6. Validation
Content checks
- Confirmed no
.mdfiles remain in target migration subtree. - Verified local image references in migrated
.mdxresolve correctly.
Service checks
- Docusaurus build eventually completed successfully in container.
- Container served build directory at port
3000.
7. Notes for Future Agents
- Always backup both target and source before migration.
- Keep a separate pass for MDX parser safety (
<,{,}outside code blocks). - Do not skip media rewrite validation; broken image links often surface post-build.
- If restart triggers temporary 502, inspect live build logs before assuming tunnel failure.